﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MSH.Common.Classes;

namespace MSH.Common.Business
{
    /// <summary>
    /// Business object voor het profiel van een gebruiker
    /// </summary>
    public class UserProfile
    {
        private Int32 _id;
        private String _mobilePhoneNumber;
        private String _fistName;
        private String _surName;
        private String _address;
        private String _zipcode;
        private String _city;
        private GenderEnum? _sex;
        private DateTime? _dateOfBirth;
        private String _website;

        //Associations
        private User _user;

        /// <summary>
        /// Database id
        /// </summary>
        public virtual Int32 ID
        {
            get { return _id; }
            set { _id = value; }
        }

        /// <summary>
        /// Het mobiele nummer
        /// </summary>
        public virtual String MobilePhoneNumber
        {
            get { return _mobilePhoneNumber; }
            set { _mobilePhoneNumber = value; }
        }

        /// <summary>
        /// De voornaam
        /// </summary>
        public virtual String FirstName
        {
            get { return _fistName; }
            set { _fistName = value; }
        }

        /// <summary>
        /// De achternaam
        /// </summary>
        public virtual String SurName
        {
            get { return _surName; }
            set { _surName = value; }
        }

        /// <summary>
        /// Het adres
        /// </summary>
        public virtual String Address
        {
            get{ return _address;}
            set { _address = value; }
        }

        /// <summary>
        /// De postcode
        /// </summary>
        public virtual String Zipcode
        {
            get { return _zipcode; }
            set { _zipcode = value; }
        }

        /// <summary>
        /// De woonplaats
        /// </summary>
        public virtual String City
        {
            get { return _city; }
            set { _city = value; }
        }

        /// <summary>
        /// Het geslacht
        /// </summary>
        public virtual GenderEnum? Sex
        {
            get { return _sex; }
            set { _sex = value; }
        }

        /// <summary>
        /// Geboortedatum
        /// </summary>
        public virtual DateTime? DateOfBirth
        {
            get { return _dateOfBirth; }
            set { _dateOfBirth = value; }
        }

        /// <summary>
        /// Website
        /// </summary>
        public virtual String Website
        {
            get { return _website; }
            set { _website = value; }
        }

        /// <summary>
        /// Gebruiker waar het profiel bij hoort
        /// </summary>
        public virtual User User
        {
            get { return _user; }
            set { _user = value; }
        }

    }
}
